home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / vdtwn / tvf / asmhd6 / tw1hd6 / zoom3.hd6 < prev   
Text File  |  1993-07-08  |  1KB  |  91 lines

  1. ds_name        db    '\KOMEI\実物\tvf_prg\ZOOM3',0
  2.  
  3.  
  4. paint_wd:
  5. re_paint:
  6. mouse_in:
  7.      ret
  8. be_called:
  9.      
  10.      push ebp
  11.      push ds
  12.      push es
  13.      mov ax,1ch
  14.      mov ds,ax
  15.      mov es,ax
  16.  
  17.  
  18. ;===== ZOOM UP mode3 =====
  19.         align    4
  20. zoom_up3:    mov    ah,7    ;水平移動範囲指定
  21.         mov    dx,0
  22.         mov    bx,270
  23.         call    MOUSE     ;pword ptr fs:[MB]
  24.         mov    ah,8    ;垂直移動範囲指定
  25.         mov    dx,0
  26.         mov    bx,180
  27.         call    MOUSE      ;pword ptr fs:[MB]
  28. #zoom_up3:    call    MOUSE1     ;pword ptr fs:[MSR]
  29.         mov    ah,03h            ;位置読み取り
  30.         call    MOUSE       ;pword ptr fs:[MB]
  31.         movzx    eax,dx
  32.         movzx    esi,bx
  33.         imul    esi,400h        ;SourceVRAM座標算出
  34.         shl    eax,1
  35.         add    esi,eax
  36.         mov    edi,40000h        ;DestinationVRAM座標(^^;)
  37.  
  38.         mov    ebp,400h-8    ;work
  39.         mov    edx,400h*3
  40.         mov    ecx,60
  41. ;拡大率は、4倍
  42.         align    4
  43. #drawing3:    push    ecx
  44.         mov    cl,16
  45.         REPT    90
  46.         lodsw
  47.         mov    ebx,eax    ;この方が早い
  48.         shl    eax,cl
  49.         mov    ax,bx
  50.         stosd
  51.         stosd
  52.         add    edi,ebp
  53.         stosd
  54.         stosd
  55.         add    edi,ebp
  56.         stosd
  57.         stosd
  58.         add    edi,ebp
  59.         stosd
  60.         stosd
  61.         sub    edi,edx
  62.         ENDM
  63.         add    esi,400h-90*2
  64.         add    edi,400h*4-360*2
  65.         pop    ecx
  66.         dec    ecx
  67.         jnz    #drawing3
  68.  
  69.         mov    ax,0901h
  70.         int    90h
  71.         xor    dh,0FFh
  72.         je    #zoom_up3
  73.  
  74.      pop es
  75.      pop ds
  76.      pop ebp
  77.      ret
  78.  
  79.  
  80.  
  81. look_me:
  82.      call sub_esi
  83.      dd 0,0
  84.      dw     0,0,30,42,20,50,15,1,0,0
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.